<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>4.构造函数中的作用域的使用形态</title>
</head>

<body>
  <script>
    // 
    function User () {
        let a = 1;
        this.show = function () {
          console.log(a++);
        };
      }
    // 构造函数类似于下面的形式  
    function User() {
      let a = 1;
      function show(){
        console.log(a++);
      }
      return {
        show: show
      }
    }
    // 类似于于普通函数的子函数被调用，因此被保留父级环境的情况

    let a =  User();
    a.show(); //1
    a.show(); //2
    let b =  User(); //开辟新空间
    b.show(); //1
  </script>
</body>

</html>